package com.qiezikaka.kaka.net.api;

import com.qiezikaka.kaka.bean.AllBean;
import com.qiezikaka.kaka.bean.BannerInfo;
import com.qiezikaka.kaka.bean.FuZhuangInfo;
import com.qiezikaka.kaka.bean.HomeCateInfo;
import com.qiezikaka.kaka.bean.HotList;

import com.qiezikaka.kaka.bean.ShopInfo;
import com.qiezikaka.kaka.bean.SiteDetailInfo;
import com.qiezikaka.kaka.bean.SiteSceneShowInfo;
import com.qiezikaka.kaka.bean.UpdataVersionInfo;
import com.qiezikaka.kaka.bean.UploadImgInfo;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Query;
import rx.Observable;

/**
 * Created by Administrator on 2018-04-19.
 * 项目api的接口
 */


public interface ApiService {

//    @FormUrlEncoded
//    @POST("/user/getLoginCode.json")
//    Observable<Object> getLoginCode(@Field("noncestr") String noncestr,
//                                    @Field("type") String type);


    /**
     * 首页新闻列表
     *
     * @return
     */
    @GET("site/banner")
    Observable<BannerInfo> getBannerList();

    /**
     * 获取分类列表
     *
     * @return
     */
    @GET("site/cate")
    Observable<HomeCateInfo> getHomeCate();

    /**
     * 服装列表
     *
     * @return
     */
    @GET("site/list")
    Observable<FuZhuangInfo> getFuZhuanList(@Query("cid") String cid,
                                            @Query("page") String page,
                                            @Query("limit") String limit,
                                            @Query("hot") String hot);

    /**
     * 热门图片
     *
     * @return
     */
    @GET("site/list-show")
    Observable<SiteDetailInfo> getSiteDetail(@Query("pid") String pid);

    /**
     * 风格详情图
     *
     * @return
     */
    @GET("site/scene-show")
    Observable<SiteSceneShowInfo> getSiteSceneShow(@Query("id") String id);


    /**
     * 上传图片
     *
     * @return
     */
    @Multipart
    @POST("site/upload")
    Observable<UploadImgInfo> onLoadImg(@Part("pid") RequestBody pid,
                                        @Part MultipartBody.Part thumb);

    /**
     * 检查版本升级
     *
     * @return
     */
    @GET("site/version")
    Observable<UpdataVersionInfo> getUpdataVersion();

    /**
     * 搜索商家
     *
     * @return
     */
    @FormUrlEncoded
    @POST("login/get-shop")
    Observable<ShopInfo> getShopInfo(@Field("id") String id);

    /**
     * 绑定商家
     *
     * @return
     */
    @FormUrlEncoded
    @POST("login/bind-shop")
    Observable<AllBean> bindShop(@Field("address") String address, @Field("sid") String sid);


    /**
     * 是否绑定设备
     * @return
     */
    @GET("login/is-bind")
    Observable<AllBean> getIsBind(@Query("address") String address);


}
